let jweixin = require('jweixin-module');
import { getWxConfig } from '../api/common.js';
export default {
	//判断是否在微信中    
	isWechat: function() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == 'micromessenger') {
			return true;
		} else {
			alert('不是微信客户端,请在微信客户端操作在,谢谢');
			return false;
		}
	},
	initJssdk: function(callback) {
		//获取当前url然后传递给后台获取授权和签名信息  
		let url = location.href;
		getWxConfig().then(res => {
			console.log("init信息", res)
			jweixin.config({
				debug: false,
				appId: "wx0476546932e9d715",
				timestamp: res.data.data.timestamp,
				nonceStr: res.data.data.nonceStr,
				signature: res.data.data.signature,
				jsApiList: [ //这里是需要用到的接口名称  
					'checkJsApi', //判断当前客户端版本是否支持指定JS接口  
					'onMenuShareAppMessage', //分享接口  
					'chooseWXPay', //微信支付  
					'chooseImage', //拍照或从手机相册中选图接口  
					'previewImage', //预览图片接口  
					'uploadImage' //上传图片  
				]
			});
			if (callback) {
				callback(res.data);
			}
		});
	},
	//选择图片
	chooseImage: function(callback) {
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		//console.log(data);  
		this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.chooseImage({
					count: 1,
					sizeType: ['compressed'],
					sourceType: ['album'],
					success: function(rs) {
						callback(rs)
					}
				})
			});
		});
	},
	//微信支付  
	wxpay: function(data, callback, callError = () => {}) {
		if (!this.isWechat()) {
			//console.log('不是微信客户端')  
			return;
		}
		jweixin.ready(function() {
			jweixin.chooseWXPay({
				appId: data.appId,
				timestamp: data.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符  
				nonceStr: data.nonceStr, // 支付签名随机串，不长于 32 位  
				package: data.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）  
				signType: data.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'  
				paySign: data.paySign, // 支付签名  
				success: function(res) {
					// console.log(res);  
					callback(res)
				},
				fail: function(res) {
					callError(res)
				},
				// complete:function(res){  
				//     console.log(res)  
				// }  
			});
		});
	}
}